Images are often represented by very large data objects. Some data processing systems store information defining the states of individual pixels which make up the image. However, because of the large amount of data involved, efficient manipulation of the image requires that the data be compressed for storage and then decompressed for processing.
Various compression schemes are used in storing image data. The scheme used depends upon the system processing the data, but most work by recognizing patterns in the data and storing a description of the pattern rather than the data itself. For example, bitonal images are composed of black and white pixels arranged in horizontal rows called scan lines. The state of each pixel is represented by either a 1 or a 0; 1 being a black pixel and 0 being a white pixel. In many images, there are large areas which are all white or all black. These areas correspond to a large number of 0 or 1 pixels. Storing and processing all of these 0s or 1s is inefficient with respect to both system memory usage and speed. Compression allows storing a code which defines the number of consecutive pixels which are the same. When the compressed data is decompressed, it is presented in scan line order, that is, the pixels are output from the decompression process scan line by scan line, from the top of the image to the bottom, with the pixels within each scan line being ordered from left to right. Thus, much less memory space is used to store the image, but the image must be decompressed to view it.
Because images like engineering drawings are often very large, it is difficult to fit an entire image on the display screen of an image processing system while maintaining legibility of fine details. It is often convenient to view only the portion of the image which is of interest. Thus a "zoom" function is performed in which only a selected region of interest is viewed and all the details of the image within the region can be distinguished.
Selection of a region of interest also provides a convenience in processing. Since only the data within the region is to be processed, data from outside the region can be ignored by the system. This can result in significant reduction in processing. A process known as clipping is used to select data within the region of interest from the entire original image data object. When compressed image data is decompressed in scan line order by dedicated hardware devices, software algorithms within the devices preserve the data inside the region of interest. This data is allowed to continue through the system for further processing, while data outside the region is ignored by the system.